package cn.fintecher.pangolin.entity.elastic;

import cn.fintecher.pangolin.common.annotation.ExcelAnno;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

import java.util.Date;

/**
 * @Auther: xiaqun
 * @Description: 案件导入模型
 * @Date: 16:39 2019/8/24
 */

@Data
@ApiModel(value = "案件导入模型", description = "案件导入模型")
public class CaseImportModel {
    @ApiModelProperty(value = "委案日期")
    private Date delegationDate;

    @ApiModelProperty(value = "结案日期")
    private Date endCaseDate;

    @ApiModelProperty(value = "案件编号")
    @ExcelAnno(cellName = "案件编号", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String caseNumber;

    @ApiModelProperty(value = "委案城市")
    @ExcelAnno(cellName = "委案城市", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String city;

    @ApiModelProperty(value = "逾期期数")
    @ExcelAnno(cellName = "逾期期数", fieldDataType = ExcelAnno.FieldDataType.INTEGER, fieldType = ExcelAnno.FieldType.CASE)
    private Integer overduePeriods;

    @ApiModelProperty(value = "逾期天数")
    @ExcelAnno(cellName = "逾期天数", fieldDataType = ExcelAnno.FieldDataType.INTEGER, fieldType = ExcelAnno.FieldType.CASE)
    private Integer overdueDays;

    @ApiModelProperty(value = "账户号")
    @ExcelAnno(cellName = "账户号", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String account;

    @ApiModelProperty(value = "卡号")
    @ExcelAnno(cellName = "卡号", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String cardNo;

    @ApiModelProperty(value = "卡类型")
    @ExcelAnno(cellName = "卡类型", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String cardNoType;

    @ApiModelProperty(value = "开卡日期")
    @ExcelAnno(cellName = "开卡日期", fieldDataType = ExcelAnno.FieldDataType.DATE, fieldType = ExcelAnno.FieldType.CASE)
    private Date openCardDate;

    @ApiModelProperty(value = "停卡日期")
    @ExcelAnno(cellName = "停卡日期", fieldDataType = ExcelAnno.FieldDataType.DATE, fieldType = ExcelAnno.FieldType.CASE)
    private Date stopCardDate;

    @ApiModelProperty(value = "账单日")
    @ExcelAnno(cellName = "账单日", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String billDay;

    @ApiModelProperty(value = "卡额度")
    @ExcelAnno(cellName = "卡额度", fieldDataType = ExcelAnno.FieldDataType.DOUBLE, fieldType = ExcelAnno.FieldType.CASE)
    private Double limitAmt;

    @ApiModelProperty(value = "推广机构")
    @ExcelAnno(cellName = "推广机构", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String extensionInfo;

    @ApiModelProperty(value = "推广员")
    @ExcelAnno(cellName = "推广员", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String extensionAgent;

    @ApiModelProperty(value = "分行")
    @ExcelAnno(cellName = "分行", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String branch;

    @ApiModelProperty(value = "支行")
    @ExcelAnno(cellName = "支行", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String subBranch;

    @ApiModelProperty(value = "委案金额")
    @ExcelAnno(cellName = "委案金额", fieldDataType = ExcelAnno.FieldDataType.DOUBLE, fieldType = ExcelAnno.FieldType.CASE)
    private Double overdueAmtTotal;

    @ApiModelProperty(value = "最新欠款金额")
    @ExcelAnno(cellName = "最新欠款金额", fieldDataType = ExcelAnno.FieldDataType.DOUBLE, fieldType = ExcelAnno.FieldType.CASE)
    private Double leftAmt;

    @ApiModelProperty(value = "最后还款金额")
    private Double latestPayAmt;

    @ApiModelProperty(value = "最后还款日期")
    private Date latestPayDate;

    @ApiModelProperty(value = "委案阶段")
    @ExcelAnno(cellName = "委案阶段", fieldDataType = ExcelAnno.FieldDataType.STRING, fieldType = ExcelAnno.FieldType.CASE)
    private String stage;

    @ApiModelProperty(notes = "入催日期")
    @ExcelAnno(cellName = "入催日期", fieldDataType = ExcelAnno.FieldDataType.DATE, fieldType = ExcelAnno.FieldType.CASE)
    private Date remindersDate;
}
